package com.devunion.salon.client.rpc;

import com.devunion.salon.client.app.bean.OfficeBeanModel;
import com.devunion.salon.client.util.RequestUtil;
import com.extjs.gxt.ui.client.data.ListLoadConfig;
import com.extjs.gxt.ui.client.data.ListLoadResult;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.ServiceDefTarget;

/**
 * @author Timoshenko Alexander 01.03.2009 : 11:40:14
 */
public interface CompanyService extends RemoteService {
    public static class App {
        private static CompanyServiceAsync async;

        public static CompanyServiceAsync getInstance() {
            if (async == null) {
                async = (CompanyServiceAsync) GWT.create(CompanyService.class);
                ((ServiceDefTarget) async).setServiceEntryPoint(RequestUtil.getContextPath() +
                        "CompanyService.page");
            }
            return async;
        }
    }

    ListLoadResult<OfficeBeanModel> getCompanyOffices(ListLoadConfig config);
}
